from enum import Enum
from typing import Callable, Optional, Literal

from src.bean.increasing_param import IncreasingParam
from src.util.config_manager import ConfigManager

IncreasingFuncType = Callable[[ConfigManager, Optional[IncreasingParam]], None]

FILL_NUM_TYPE = Literal["fill_na_-1", 'fill_na_0', 'imputer_mean']


# PRE_HANDLE_TYPE = Literal['predict', 'train', 'increase']
class PRE_HANDLE_TYPE(Enum):
    predict = 'predict'
    train = 'train'
    increase = 'increase'
